package com.eastfair.imaster.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 实体类
 * 邀约
 * </p>
 *
 * @author liuxiaobai
 * @since 2021-09-13
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "AppointmentPageQuery", description = "邀约")
public class AppointmentPageQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 项目ID
     */
    @ApiModelProperty(value = "项目ID")
    private Long projectId;
    /**
     * 展会ID
     */
    @ApiModelProperty(value = "展会ID")
    private Long exhibitionId;
    /**
     * 展商ID
     */
    @ApiModelProperty(value = "展商ID")
    private Long exhibitorId;
    /**
     * 员工userID user_account
     */
    @ApiModelProperty(value = "员工userID user_account")
    private Long employeeUserId;
    /**
     * 观众userID user_account
     */
    @ApiModelProperty(value = "观众userID user_account")
    private Long visitorUserId;
    /**
     * 约见发起人身份（ACTOR、VISITOR）
     */
    @ApiModelProperty(value = "约见发起人身份（ACTOR、VISITOR）")
    private String launchUserType;
    /**
     * 关联数据类型(BUSINESS_CIRCLE 商脉圈)
     */
    @ApiModelProperty(value = "关联数据类型(BUSINESS_CIRCLE 商脉圈)")
    private String subjectType;
    /**
     * 关联数据ID
     */
    @ApiModelProperty(value = "关联数据ID")
    private Long subjectId;
    /**
     * 状态（PENDING、APPROVE、DISAPPROVE）
     */
    @ApiModelProperty(value = "状态（PENDING、APPROVE、DISAPPROVE）")
    private String status;
    /**
     * 约见开始时间
     */
    @ApiModelProperty(value = "约见开始时间")
    private LocalDateTime startTime;
    /**
     * 约见结束时间
     */
    @ApiModelProperty(value = "约见结束时间")
    private LocalDateTime endTime;
    /**
     * 约见地点-数据字典code
     */
    @ApiModelProperty(value = "约见地点-数据字典code")
    private String placeCode;
    /**
     * 主办审核状态（PENDING、APPROVE、DISAPPROVE）
     */
    @ApiModelProperty(value = "主办审核状态（PENDING、APPROVE、DISAPPROVE）")
    private String sponsorVerifyStatus;
    /**
     * 留言（预留）
     */
    @ApiModelProperty(value = "留言（预留）")
    private String remark;
    /**
     * 处理原因
     */
    @ApiModelProperty(value = "处理原因")
    private String reason;
    /**
     * 处理原因英文
     */
    @ApiModelProperty(value = "处理原因英文")
    private String enReason;
    /**
     * 来源（INVITE-邀约 DISTRIBUTION-管理员分配）
     */
    @ApiModelProperty(value = "来源（INVITE-邀约 DISTRIBUTION-管理员分配）")
    private String resource;
    /**
     * 是否生效(默认1：可用 0:不可用)
     */
    @ApiModelProperty(value = "是否生效(默认1：可用 0:不可用)")
    private Integer isEnable;
    /**
     * 是否删除(默认0：未删除1:已删除)
     */
    @ApiModelProperty(value = "是否删除(默认0：未删除1:已删除)")
    private Integer isDelete;

}
